// 导入 Joi 验证规则模块
const joi = require('joi')

// id
const id = joi.number().integer().min(1).required()
// 用户名的验证规则
const username = joi.string().alphanum().min(3).max(11).required()
// 密码的 验证规则
const password = joi.string().pattern(/\S/).required()
// 用户名的验证规则
const nickname = joi.string().alphanum().min(3).max(30).required()
const email = joi.string().email().required()
// 头像的验证规则
const avatar = joi.string().dataUri().required()

// 定义注册的表单验证规则
exports.reg_register_schema = {
    body: {
        username,
        password,
        email
    }
}
// 定义登录的表单验证规则
exports.reg_login_schema = {
  body: {
      username,
      password
  }
}

// 验证更新用户信息规则对象
exports.reg_userInfo_schema = {
    body: {
        id,
        nickname,
        email
    }
}

// 更新密码的验证规则

exports.reg_password_schema = {
    body: {
        oldPwd: password,
         // 1. joi.ref('oldPwd') 表示 newPwd 的值必须和 oldPwd 的值保持一致
    // 2. joi.not(joi.ref('oldPwd')) 表示 newPwd 的值不能等于 oldPwd 的值
    // 3. .concat() 用于合并 joi.not(joi.ref('oldPwd')) 和 password 这两条验证规则
        newPwd: joi.not(joi.ref('oldPwd')).concat(password)
    }
}

// 用户更换头像的验证规则
exports.reg_avatar_schema = {
    body: {
        avatar
    }
}